/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.servlets;

import br.com.type.EstadoItem;
import br.com.type.Genero;
import br.com.business.FilmeBO;
import br.com.model.Filme;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.LinkedList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Hercules Sandim
 */
public class CadastroFilme extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public CadastroFilme() {
        super();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
        //TODO
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String titulooriginal = req.getParameter("titulooriginal");
        String tituloportugues = req.getParameter("tituloportugues");
        Integer ano = Integer.parseInt(req.getParameter("ano"));
        Integer duracaominutos = Integer.parseInt(req.getParameter("duracaominutos"));
        Genero genero = Genero.valueOf(req.getParameter("genero"));
        boolean ehlancamento = req.getParameter("ehlancamento").equals("S") ? true : false;
        String sinopse = req.getParameter("sinopse");

        String[] atores = req.getParameterValues("atores[]");
        String[] diretores = req.getParameterValues("diretores[]");
        String[] paises = req.getParameterValues("paises[]");
        LinkedList<String> atoresLista = new LinkedList<String>(Arrays.asList(atores));
        LinkedList<String> diretoresLista = new LinkedList<String>(Arrays.asList(diretores));
        LinkedList<String> paisesLista = new LinkedList<String>(Arrays.asList(paises));

        Filme filme = new Filme(titulooriginal, tituloportugues, paisesLista, ano, diretoresLista, atoresLista, sinopse, duracaominutos, genero, ehlancamento);

        FilmeBO filmeBo = new FilmeBO();

        /*Aqui tem que estar comentado, pois n�o existe o banco de dados JDBC MySQL, como no exemplo...*/
        filmeBo.insereFilme(filme);

        //Imprimindo o cliente "capturado", na tela !!!
        PrintWriter out = resp.getWriter();

        out.println("<p>Titulo Original: " + filme.getTituloOriginal() + "</p>");
        out.println("<p>Titulo Portugues: " + filme.getTituloPortugues() + "</p>");
        out.println("<p>Ano: " + filme.getAno() + "</p>");
        out.println("<p>Duraçao em Minutos: " + filme.getDuracaoMinutos() + "</p>");
        out.println("<p>Genero: " + filme.getGenero() + "</p>");
        out.println("<p>E lancamento?: " + (filme.isEhLancamento() ? "Sim" : "Nao") + "</p>");
        out.println("<p>Sinopse: " + filme.getSinopse() + "</p>");

        out.print("<p>Paises: ");
        for (int i = 0; i < filme.getPaises().toArray().length; i++) {
            out.print(filme.getPaises().toArray()[i] + " ; ");
        }
        out.println("</p>");

        out.print("<p>Atores: ");
        for (int i = 0; i < filme.getAtores().toArray().length; i++) {
            out.print(filme.getAtores().toArray()[i] + " ; ");
        }
        out.println("</p>");

        out.print("<p>Diretores: ");
        for (int i = 0; i < filme.getDiretores().toArray().length; i++) {
            out.print(filme.getDiretores().toArray()[i] + " - ");
        }
        out.println("</p>");

        out.println("<a href='index.jsp'>P�gina Inicial</a>");

        out.close();

        /*RequestDispatcher rd = req.getRequestDispatcher("cadastroClientes.jsp");
              
         rd.forward(req, resp);*/
    }

}
